<template>
  <vxe-modal
    title="查看信息"
    v-model="dialogVisible"
    v-if="dialogVisible"
    :loading="loading"
    width="70%" showFooter esc-closable show-zoom resize>

    <div style="height: 74vh; overflow-y: auto;">
      <el-card class="box-card" shadow="never" :body-style="{ padding: '10px',backgroundColor: '#bfcdda' }">
        <!-- 基本资料 -->
        <el-card class="box-card" shadow="hover">
          <div slot="header" class="clearfix">
            <span style="font-size: 16px; color: #1890ff;">基本资料</span>
          </div>
          <el-descriptions class="margin-top" :column="2" size="medium" border
                           :contentStyle="content_style" :labelStyle="label_style">
            <el-descriptions-item>
              <template slot="label">
                <div class="right-align-label">
                  <i class="el-icon-user"></i>
                  RD编号：
                </div>
              </template>
              {{ rdbData.rdBh }}
            </el-descriptions-item>
            <el-descriptions-item>
              <template slot="label">
                <div class="right-align-label">
                  <i class="el-icon-user"></i>
                  年度：
                </div>
              </template>
              {{ rdbData.nd }}
            </el-descriptions-item>
            <el-descriptions-item>
              <template slot="label">
                <div class="right-align-label">
                  <i class="el-icon-user"></i>
                  项目编号：
                </div>
              </template>
              {{ rdbData.xmBh }}
            </el-descriptions-item>
            <el-descriptions-item>
              <template slot="label">
                <div class="right-align-label">
                  <i class="el-icon-user"></i>
                  研发活动名称：
                </div>
              </template>
              {{ rdbData.yfHdName }}
            </el-descriptions-item>
            <el-descriptions-item>
              <template slot="label">
                <div class="right-align-label">
                  <i class="el-icon-user"></i>
                  开始时间：
                </div>
              </template>
              {{ rdbData.ksTime }}
            </el-descriptions-item>
            <el-descriptions-item>
              <template slot="label">
                <div class="right-align-label">
                  <i class="el-icon-user"></i>
                  完成时间：
                </div>
              </template>
              {{ rdbData.wcTime }}
            </el-descriptions-item>
            <el-descriptions-item>
              <template slot="label">
                <div class="right-align-label">
                  <i class="el-icon-user"></i>
                  技术领域：
                </div>
              </template>
              {{ rdbData.jsLy }}
            </el-descriptions-item>
            <el-descriptions-item>
              <template slot="label">
                <div class="right-align-label">
                  <i class="el-icon-user"></i>
                  技术来源：
                </div>
              </template>
              {{ rdbData.jsLy }}
            </el-descriptions-item>
            <el-descriptions-item>
              <template slot="label">
                <div class="right-align-label">
                  <i class="el-icon-user"></i>
                  产品/服务名称：
                </div>
              </template>
              {{ rdbData.cpFwName }}
            </el-descriptions-item>
            <el-descriptions-item>
              <template slot="label">
                <div class="right-align-label">
                  <i class="el-icon-user"></i>
                  知识产权编号：
                </div>
              </template>
              {{ rdbData.zscqBh }}
            </el-descriptions-item>
            <el-descriptions-item>
              <template slot="label">
                <div class="right-align-label">
                  <i class="el-icon-user"></i>
                  所属单位：
                </div>
              </template>
              {{ rdbData.ssDw }}
            </el-descriptions-item>
            <el-descriptions-item>
              <template slot="label">
                <div class="right-align-label">
                  <i class="el-icon-user"></i>
                  依托工程项目：
                </div>
              </template>
              {{ rdbData.ytGcXm }}
            </el-descriptions-item>
            <el-descriptions-item>
              <template slot="label">
                <div class="right-align-label">
                  <i class="el-icon-user"></i>
                  研发总预算：
                </div>
              </template>
              {{ rdbData.ydZys }}
            </el-descriptions-item>
            <el-descriptions-item>
              <template slot="label">
                <div class="right-align-label">
                  <i class="el-icon-user"></i>
                  近3年总支出：
                </div>
              </template>
              {{ rdbData.jsnZzc }}
            </el-descriptions-item>
            <el-descriptions-item>
              <template slot="label">
                <div class="right-align-label">
                  <i class="el-icon-user"></i>
                  其中：第一年：
                </div>
              </template>
              {{ rdbData.qzDyn }}
            </el-descriptions-item>
            <el-descriptions-item>
              <template slot="label">
                <div class="right-align-label">
                  <i class="el-icon-user"></i>
                  其中：第二年：
                </div>
              </template>
              {{ rdbData.qzDen }}
            </el-descriptions-item>
            <el-descriptions-item>
              <template slot="label">
                <div class="right-align-label">
                  <i class="el-icon-user"></i>
                  其中：第三年：
                </div>
              </template>
              {{ rdbData.qzDsn }}
            </el-descriptions-item>

          </el-descriptions>
        </el-card>
        <br>

          <!-- 目的及组织实施方式 -->
          <el-card class="box-card" shadow="hover" style="min-height: 25vh">

            <div slot="header" class="clearfix">
              <span style="font-size: 16px; color: #1890ff;">目的及组织实施方式</span>
            </div>
            <div class="ql-container ql-snow" style="border: 1px solid #ffffff;">
              <div class="ql-editor" style="font-size: 16px">
                <div v-html="rdbData.mdjZzSsFs"></div>
              </div>
            </div>
          </el-card>
          <br>
          <!-- 核心技术及创新点 -->
          <el-card class="box-card" shadow="hover" style="min-height: 25vh">

            <div slot="header" class="clearfix">
              <span style="font-size: 16px; color: #1890ff;">核心技术及创新点</span>
            </div>
            <div class="ql-container ql-snow" style="border: 1px solid #ffffff;">
              <div class="ql-editor" style="font-size: 16px">
                <div v-html="rdbData.hxjsJCxd"></div>
              </div>
            </div>
          </el-card>
          <br>
          <!-- 取得的阶段性成果 -->
          <el-card class="box-card" shadow="hover" style="min-height: 25vh">

            <div slot="header" class="clearfix">
              <span style="font-size: 16px; color: #1890ff;">取得的阶段性成果</span>
            </div>
            <div class="ql-container ql-snow" style="border: 1px solid #ffffff;">
              <div class="ql-editor" style="font-size: 16px">
                <div v-html="rdbData.qddJdxCg"></div>
              </div>
            </div>
          </el-card>
          <br>
        <br>
        <!-- 相关附件 -->
        <el-card class="box-card" shadow="hover">
          <div slot="header" class="clearfix">
            <span style="font-size: 16px; color: #1890ff">相关附件</span>
          </div>
          <el-row :gutter="20">
            <el-col :span="7" :xs="24">
              <div class="head-container">
                <el-tree
                  :data="fileOptions"
                  :props="defaultProps"
                  :expand-on-click-node="false"
                  :filter-node-method="filterNode"
                  ref="tree"
                  node-key="id"
                  default-expand-all
                  highlight-current
                  @node-click="handleNodeClick"
                  :render-content="renderContent"
                />
              </div>
            </el-col>
            <el-col :span="17" :xs="24">
              <el-table height="33vh" :header-cell-style="{background:'#d0cece',color:'#000000',fontWeight:'bold'}"
                        :data="rdbFjList" v-loading="loadingFj">
                <el-table-column label="序号" align="center" type="index" width="50"/>
                <el-table-column label="文件类型" align="center" prop="fileType"/>
                <el-table-column label="文件名称" align="center" prop="fileName" :formatter="getFileNames"/>
                <el-table-column label="文件大小" align="center" prop="fileSize" width="120"/>
                <el-table-column label="操作" width="120" align="center" class-name="small-padding fixed-width">
                  <template slot-scope="scope">
                    <el-button
                      size="mini"
                      type="text"
                      icon="el-icon-edit"
                      @click="handleDownload(scope.row)"
                    >下载
                    </el-button>
                  </template>
                </el-table-column>
              </el-table>
            </el-col>
          </el-row>
        </el-card>
        <br>

      </el-card>
    </div>

    <div slot="footer" class="dialog-footer dialog-footer-center">
      <el-button @click="dialogVisible=false">关闭</el-button>
    </div>
  </vxe-modal>
</template>
<script>

import {getRdb, selectRdbFjList} from "@/api/gqgl/rdb";

export default {
  name: "RdbXq", //RD表详情组件
  data() {
    return {
      rdbFileType: "项目立项批文", //默认的附件类型
      defaultProps: {children: "children", label: "label"}, // 表单参数
      fileOptions: [
        { // 附件类型树表
          id: 1,
          label: '1.项目立项批文',
          type: '项目立项批文'
        }, {
          id: 2,
          label: '2.研究开发项目任务计划书',
          type: '研究开发项目任务计划书',
          children: [{
            id: 2.1,
            label: '2.合同变更',
            type: '合同变更',
          }]
        }, {
          id: 3,
          label: '3.项目成果简介或研究成果技术报告',
          type: '项目成果简介或研究成果技术报告'
        }, {
          id: 4,
          label: '4.科技成果鉴定证书(已结题项目提供)',
          type: '科技成果鉴定证书(已结题项目提供)'
        }, {
          id: 5,
          label: '5.查新报告(有技术查新报告的项目提供)',
          type: '查新报告(有技术查新报告的项目提供)'
        }, {
          id: 6,
          label: '6.应用证明',
          type: '应用证明'
        }, {
          id: 7,
          label: '7.经济效益证明',
          type: '经济效益证明'
        }, {
          id: 8,
          label: '8.项目取得的成果(包括专利、工法、科技奖)等',
          type: '项目取得的成果(包括专利、工法、科技奖)等'
        },
      ],
      // RD表附件表格数据
      rdbFjList: [],
      loadingFj: false,
      loading: false,
      rdbData: [], //RD表基本资料
      rdbId: null, //RD主键ID
      dialogVisible: false,
      content_style: {
        // 解决不对齐的问题
        'width': "400px",
        // 排列第二行
        'word-break': 'break-all',
        // 'background-color': '#f3f7ff'
      },
      label_style: {
        // 解决不对齐的问题
        'width': "250px",
        // 排列第二行
        'word-break': 'break-all',
      },
    };
  },
  created() {
  },
  methods: {
    handleNodeClicks(data) {
      this.loadingFj = true
      let rdbId = this.rdbId
      this.rdbFileType = data.type
      selectRdbFjList(rdbId, this.rdbFileType).then(resFileList => {
        this.rdbFjList = resFileList.data;
        this.loadingFj = false
      })
    },
    // 节点单击事件
    handleNodeClick(data, node) {
      this.loadingFj = true
      let rdbId = this.rdbId
      //根据附件类型查询附件列表
      this.rdbFileType = data.type
      selectRdbFjList(rdbId, this.rdbFileType).then(resFileList => {
        this.rdbFjList = resFileList.data;
        this.loadingFj = false
      })
    },
    // 筛选节点
    filterNode(value, data) {
      if (!value) return true;
      return data.label.indexOf(value) !== -1;
    },
    // 文件下载处理
    handleDownload(row) {
      const resource = row.fileName;
      // 默认方法
      this.$download.resource(resource);
    },
    getFileNames(row) {
      // 从路径中提取文件名
      return row.fileName.split('/').pop(); // 返回文件名部分
    },
    handleOpen(row) {
      this.loading = true;
      this.rdbId = row.rdbId
      this.dialogVisible = true
      this.getRdbData()
      setTimeout(() => {
        this.loading = false
      }, 1000)
    },
    //获取详情数据
    getRdbData() {
      const rdbId = this.rdbId
      getRdb(rdbId).then(res => {
        this.rdbData = res.data
        selectRdbFjList(rdbId, this.rdbFileType).then(resFileList => {
          this.rdbFjList = resFileList.data;

          //点击树表第一个节点
          this.$nextTick(() => {
            const firstNode = this.$refs.tree.store.nodesMap['1']; // 默认点击id为1的节点
            if (firstNode) {
              this.$refs.tree.setCurrentKey(firstNode.key);
              this.handleNodeClicks(firstNode.data);
            }
          });

        })
      })
    },


  }
};
</script>

<style scoped>
.right-align-label {
  text-align: right;
}
</style>
